This article was first published in Linux Weekly News. You can get my monthly summary of the Debian/Ubuntu news, all you have to do is to click here to subscribe to my free newsletter.
5 comments Liked this article? Click here. My blog is Flattr-enabled.
[Emphasis mine]
At what point does human culture depart from the Natural? With the invention of computers? TV? Cars? The cotton gin? Electricity? Taco stands? Gunpowder? The printing press? Written language? Shoes? Crop cultivation? Yurts? The wheel? Did humans become unnatural when the good old days of picturesque, endless agrarian toil, feudal oppression, unchecked disease, ignorance, and death from dysentery at 35 turned into the bad new days of urban post-industrial capitalism where a pound of fair-trade organic coffee costs $12.99 and your email inbox is full of spam?
ah. Everything humans do, or have ever done, is natural. We can t do anything else. The idea that modern culture is un-natural is nostalgic and inaccurate. Living off the grid in a yurt is good in some absolute sense, whereas driving an SUV from a suburban bungalow to the stripmall is bad ? Come on. This a romantic, but misguided view. The cosmic reaction to a 20 Ford Expedition is the same as to a sanctimonious Prius: bupkis. The universe doesn t give a fuck about you or your lifestyle choices. It doesn t give a fuck about the economy, oil spills, or civil unrest in Blargistan. It doesn t give a fuck about katydids. Eventually our whole planet will be erased from space, and the galaxy won t bat an eye. The inevitable extinction of our species (imminent, according to research here at Spinster Laboratories) via the exhaustion of available resources is as natural as a fresh-picked peach. As Andre 3000 and other dude philosophers have observed, nothing is forever.
Yes, yes, when people use the word natural what they really mean is free of chemical additives and maybe some of the assorted hippie concepts that go with that narrative. Barter economies, home furnishings made from bamboo, vegan cookbooks, living in the country. While I would argue that it is just as natural for people to put chemical additives in things as it is to not put chemical additives in things, I admit that it is appealing to fantasize that the source of human misery is an unnatural isolation from Nature, and that doing yoga on an organic rubber mat and drinking organic spinach smoothies will put me back in sync with the cosmos.
But alas, I m already in sync with the cosmos, and so are you. In other words, this is it. This is what we ve become, and this is what we get. Which is not to say that a person can t fantasize about a verdant paradise full of songbirds and polar bears and Bengal tigers, untouched by human influence. Only, that world isn t a world we could actually live in. The minute you add contented children, lazy from a carefree day at the swimming hole, eating ripe plums on the porch at sunset to that scenario, natural history changes, and it s right back to our scorched-earth dystopia. Our giant brains use up resources, it s as simple as that.
As long as we re still here, though, we might as well try to make the best of it.
http://blog.iblamethepatriarchy.com/2010/06/19/heads-up-art-week-starts-on-monday/
Dad, I don t know that I ve ever been a butterfly before!I pointed out that we were above the clouds, which was also exciting. About every 5 minutes, he d poke me, and say, Dad, look out the window. Look down. WE ARE UP IN THE SKY! Meanwhile, Oliver slept. On the second flight, Jacob slept (and was in a very foul mood when he woke up on the ground) while Oliver tried his best to squirm out of the seat and onto the ground. Now, to wind up this post, I would like to leave you with some statistics and photos comparing my home with New York.
Item | NYC | Marion County, KS |
---|---|---|
Land Area | 469 sq mi | 954 sq mi |
Population | 8,391,881 | 12,952 (6871 excluding the 3 largest towns quite some distance away) |
Population Density | 27,532/sq mi | 14/sq mi (7 if excluding large towns) |
apt-get install aftpdRecent versions share files from /srv/tftp/, in case you're running Lenny /var/lib/tftpboot/ should be the place to drop your files. When everything is connected properly the boot process should show up in minicom, make sure to press some key to enter uBoot. The first thing you should do is to save the original uBoot environment in case you want to restore the factory settings later. Run
printenvand save the output somewhere.
setenv ipaddr 192.168.121.253 setenv serverip 192.168.121.2 tftp 0x6400000 uBoot.guruplug.bin nand erase 0x00000000 0x0100000 nand write 0x6400000 0x0000000 0x80000 resetEnter uBoot again after the reset.
setenv mainlineLinux yes setenv arcNumber 2097 saveenv resetAgain, enter uBoot after the reset.
setenv ipaddr 192.168.121.253 setenv serverip 192.168.121.2 tftpboot 0x01100000 uInitrd tftpboot 0x00800000 uImage setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most bootm 0x00800000 0x01100000You should see the installer starting now. You might want to follow the following hints:
chroot /target /bin/bash cd /boot mkimage -n vmlinuz -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -d /boot/vmlinuz uImage.bin mkimage -n 'vmlinuz initrd' -A arm -O linux -T ramdisk -C gzip -d /boot/initrd.img uInitrd scp uI* root@192.168.121.2:/srv/tftpNow leave the shell, finish the installation and reboot, enter uBoot again.
setenv ipaddr 192.168.121.253 setenv serverip 192.168.121.2 tftp 0x6400000 uImage.bin nand erase 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000 tftp 0x6400000 uInitrd nand erase 0x500000 0x1fb00000 nand write.e 0x6400000 0x500000 0x600000Now we need to set the necessary boot options. Make sure to change the root device if you've chosen a different layout from that I've suggested above, or if you're not using a SDcard.
setenv bootargs_debian 'console=ttyS0,115200 root=/dev/sdb2' setenv bootcmd_nand 'nand start; nand read.e 0x00800000 0x100000 0x400000; nand read.e 0x01100000 0x500000 0x600000' setenv bootcmd 'setenv bootargs $(bootargs_debian); run bootcmd_nand; bootm 0x00800000 0x01100000' saveenv run bootcmd
root@guruplug:~# uname -a Linux guruplug 2.6.32-5-kirkwood #1 Fri May 21 05:44:29 UTC 2010 armv5tel GNU/Linux root@guruplug:~# cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1192.75 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell GuruPlug Reference Board Revision : 0000 Serial : 0000000000000000 root@guruplug:~#
X
in a
d-i
environment.
Making sure X
actually works
So far, running X
was nice already, but is it really possible to run some applications
inside? Bad news is that many trivial applications (xeyes
, xclock
,
) pull more dependencies than
previously packaged.
Finally, xev
was chosen, and it indeed works fine (provided one
makes sure it gets the focus).
X was crashing when the (only last) client was exiting, and that
wasn t normal. Thankfully the bug was reproducible outside d-i
and
Julien
sent a patch
a few minutes later.
In the meanwhile, using -noreset
did the trick to keep X
running.
Another way to run X
applications there, is to point the host
environment to the guest environment using DISPLAY=$GUEST:0
xterm
. With VirtualBox, I followed those steps:
6000/tcp
to the guest s 6000/tcp
.debconf
so that network
configuration happens, which is needed for the next steps to work
(just getting localhost
set up is probably sufficient, but let s
be lazy and let the installer take care of it for now).X
in the guest, disabling access control, with:
X -retro -noreset -ac
xterm
from the host with:
DISPLAY=localhost:0 xterm
udebs
. Legend:
udeb
we no longer want to depend on.udebs
to be tweaked first.udebs
to be tweaked afterwards.udeb
provided by the one pointed to (magenta edge).udebs
of
interest:
I took care of gtk+2.0
while Julien hacked pango1.0
and
cairo
. Some more libraries were needed, but being X
libraries,
tweaking the packaging was as trivial as for the first X
libraries,
and it only took a couple of minutes: libxcomposite
, libxdamage
,
and libxinerama
.
Once those added to localudebs/
and to pkg-lists/local
, and once
the image rebuilt, I prepared a tiny Hello world -style application:
x11
flavour:
gcc -o hello $(pkg-config --cflags gtk+-2.0) hello.c -lgtk-x11-2.0
d-i
, and make it executable.X
as previously explained, then:
DISPLAY=:0 ./hello
(hello:1991): Pango-WARNING **: failed to choose a font, expect
ugly output. engine-type='PangoRenderFc', script='latin'
Indeed, since no fonts were included, there was a tiny issue. No big
deal, adding ttf-dejavu-udeb
did the trick. I wanted to play around
with a non-Latin language, so I asked for an example (thanks,
Theppitak!), and once ttf-thai-tlwg-udeb
added as well, one gets:
Of course, there are many more features to test, but that sounds like
we re going in the right direction (and this is not a joke about
RTL).
Next step
Have a look at the green boxes, which may require to have a closer
look at g-i
s integration within d-i
(it might be needed to see
how it s supposed to be started, that might help testing the tweaked
packages).
Next.